<?php
/**
* 名称：帮助模块控制器。
* 描述：帮助模块相关的控制响应程式。
*/
class Controller_Manual_Self extends Controller_Public_Account{
    /**
    * 描述：列表之视图程式。
    * @access protected
    * @return void
    */
    protected function Listview(){
        $data=array(
            'meta'=>array_merge(
                Model_Common_OUI::Breadcrumb(
                    Model_Manual::OUI_Breadcrumb(1),
                    Model_Manual::OUI_Breadcrumb(2,'text')
                ),
                Model_Common_OUI::Button(array(
                    'text'=>'发布信息',
                    'link'=>Route::MakeHyperlink(':manual_self::add')
                )),
                array(
                    'list_title'=>'信息列表'
                )
            ),
            'base'=>self::$Database->GetLimit(
                'SELECT * FROM '.self::$Database->Table('manual').' ORDER BY id DESC',
                Route::GetArguments('page'),
                10
            ),
            'arguments'=>array(
                'class'=>'0'
            )
        );
        //~
        foreach($data['base']['Rows'] as &$value){
            $value['class_name']=Model_Manual::GetClassesName($value['class']);
        }
        //~
        self::$Template->Assign('data',$data);
        self::$Template->Display('oui/manual/list.html');
    }

    /**
    * 描述：添加之视图程式。
    * @access protected
    * @return void
    */
    protected function Add(){
        $data=array(
            'meta'=>array_merge(
                Model_Common_OUI::Breadcrumb(
                    Model_Manual::OUI_Breadcrumb(1),
                    Model_Manual::OUI_Breadcrumb(2),
                    Model_Manual::OUI_Breadcrumb('add')
                ),
                array(
                    'action'=>Route::MakeHyperlink(':manual_self::insert')
                )
            ),
            'class'=>Model_Manual::GetClassData()
        );
        self::$Template->Assign('data',$data);
        self::$Template->Display('oui/manual/form.html');
    }

    /**
    * 描述：添加之响应程式。
    * @access protected
    * @return void
    */
    protected function Insert(){
        $data=Model::Post(Model_Manual::$FormLabel);
        //~
        $isInsert=self::$Database->Insert(self::$Database->Table('manual'),$data);
        //~
        $arguments=array(
            'notice'=>'帮助发布成功，3秒钟后自动返回。',
            'link'=>array(
                array('name'=>'继续发布','href'=>Route::MakeHyperlink(':manual_self::add')),
                array('name'=>'前往修改','href'=>Route::MakeHyperlink(':manual_self::edit','id:'.self::$Database->LastInsertId())),
                array('name'=>'返回列表','href'=>Route::MakeHyperlink(':manual_self::listview'))
            ),
            'autoTurn'=>array(TRUE,3)
        );
        $this->Feedback($isInsert,$arguments,'发布失败，请稍候再试！');
    }

    /**
    * 描述：修改之视图程式。
    * @access protected
    * @return void
    */
    protected function Edit(){
        $data=array(
            'meta'=>array_merge(
                Model_Common_OUI::Breadcrumb(
                    Model_Manual::OUI_Breadcrumb(1),
                    Model_Manual::OUI_Breadcrumb(2),
                    Model_Manual::OUI_Breadcrumb('edit')
                ),
                array(
                    'action'=>Route::MakeHyperlink(':manual_self::update')
                )
            ),
            'base'=>self::$Database->GetRow(
                'SELECT * FROM '.self::$Database->Table('manual').' WHERE id=?',
                array(Route::GetArguments('id'))
            ),
            'class'=>Model_Manual::GetClassData()
        );
        //~
        self::$Template->Assign('data',$data);
        self::$Template->Display('oui/manual/form.html');
    }

    /**
    * 描述：修改之响应程式。
    * @access protected
    * @return void
    */
    protected function Update(){
        $data['base']=Model::Post(
            Model_Manual::$FormLabel,
            array('id'=>post('id'))
        );
        $data['condition']=array(
            'sql'=>'id=?',
            'parameters'=>array($data['base']['id'])
        );
        //~
        $isUpdate=self::$Database->Update(self::$Database->Table('manual'),$data['base'],$data['condition']);
        //~
        $arguments=array(
            'notice'=>'帮助修改成功，3秒钟后自动返回。',
            'link'=>array(
                array('name'=>'继续修改','href'=>Route::MakeHyperlink(':manual_self::edit','id:'.$data['base']['id'])),
                array('name'=>'返回列表','href'=>Route::MakeHyperlink(':manual_self::listview'))
            ),
            'autoTurn'=>array(TRUE,3)
        );
        $this->Feedback($isUpdate,$arguments,'发布失败，请稍候再试！');
    }

    /**
    * 描述：帮助删除程式之删除。
    * @access protected
    * @return void
    */
    protected function Delete(){
        $id=Route::GetArguments('id');
        //~
        $this->Feedback(
            self::$Database->ExecParameterized(
                'DELETE FROM '.self::$Database->Table('manual').' WHERE id=?',array($id)
            ),
            $_SERVER['HTTP_REFERER'],
            '删除失败，请稍候再试！'
        );
    }
}